home *** CD-ROM | disk | FTP | other *** search
/ Champak 109 / Vol 109.iso / games / rush_hou.swf / scripts / DefineSprite_190 / frame_3 / DoAction.as
Encoding:
Text File  |  2008-11-12  |  7.1 KB  |  310 lines

  1. function mePressed(mn, tp)
  2. {
  3.    var _loc1_ = mn;
  4.    var _loc2_ = tp;
  5.    var _loc3_ = this;
  6.    if(gameOn != false)
  7.    {
  8.       if(_loc2_ == 1 || _loc2_ == 2 || _loc2_ == 4)
  9.       {
  10.          toplimit = _loc3_["vehicle" + _loc1_]._y;
  11.          bottomlimit = _loc3_["vehicle" + _loc1_]._y;
  12.          leftlimit = getleftlimit(_loc1_,_loc2_);
  13.          rightlimit = getrightlimit(_loc1_,_loc2_);
  14.       }
  15.       else
  16.       {
  17.          leftlimit = _loc3_["vehicle" + _loc1_]._x;
  18.          rightlimit = _loc3_["vehicle" + _loc1_]._x;
  19.          toplimit = gettoplimit(_loc1_,_loc2_);
  20.          bottomlimit = getbottomlimit(_loc1_,_loc2_);
  21.       }
  22.       _loc3_["vehicle" + _loc1_].startDrag(false,leftlimit,toplimit,rightlimit,bottomlimit);
  23.    }
  24. }
  25. function meReleased(mn, tp)
  26. {
  27.    var _loc1_ = this;
  28.    var _loc2_ = mn;
  29.    _loc1_["vehicle" + _loc2_].stopDrag();
  30.    newvx = Math.floor(_loc1_["vehicle" + _loc2_]._x / 36);
  31.    newvy = Math.floor(_loc1_["vehicle" + _loc2_]._y / 36);
  32.    _loc1_["vehicle" + _loc2_].vx = newvx;
  33.    _loc1_["vehicle" + _loc2_].vy = newvy;
  34.    _loc1_["vehicle" + _loc2_]._x = newvx * 36;
  35.    _loc1_["vehicle" + _loc2_]._y = newvy * 36;
  36.    updateGridArray();
  37.    Moves++;
  38.    txtMoves.text = Moves;
  39.    if(tp == 1 && _loc1_["vehicle" + _loc2_].vx == 5)
  40.    {
  41.       gameOn = false;
  42.       gamescleared[glevel] = true;
  43.       _loc1_["thelevel" + glevel].marker._visible = true;
  44.       tgamescleared++;
  45.       if(tgamescleared == 60)
  46.       {
  47.          btnNextLevel._visible = false;
  48.       }
  49.       btnNextLevel.gotoAndStop(2);
  50.       score += 100;
  51.       if(Moves < 50)
  52.       {
  53.          score += 50 - Moves;
  54.       }
  55.       txtScore.text = score;
  56.    }
  57. }
  58. function getleftlimit(mn, tp)
  59. {
  60.    var _loc2_ = mn;
  61.    var _loc3_ = this;
  62.    if(_loc3_["vehicle" + _loc2_].vx == 0)
  63.    {
  64.       return 0;
  65.    }
  66.    var _loc1_ = _loc3_["vehicle" + _loc2_].vx - 1;
  67.    while(_loc1_ >= 0)
  68.    {
  69.       if(gridarray[_loc1_][_loc3_["vehicle" + _loc2_].vy] == 1)
  70.       {
  71.          return (_loc1_ + 1) * 36;
  72.       }
  73.       _loc1_ = _loc1_ - 1;
  74.    }
  75. }
  76. function gettoplimit(mn, tp)
  77. {
  78.    var _loc2_ = mn;
  79.    var _loc3_ = this;
  80.    if(_loc3_["vehicle" + _loc2_].vy == 0)
  81.    {
  82.       return 0;
  83.    }
  84.    var _loc1_ = _loc3_["vehicle" + _loc2_].vy - 1;
  85.    while(_loc1_ >= 0)
  86.    {
  87.       if(gridarray[_loc3_["vehicle" + _loc2_].vx][_loc1_] == 1)
  88.       {
  89.          return (_loc1_ + 1) * 36;
  90.       }
  91.       _loc1_ = _loc1_ - 1;
  92.    }
  93.    return 0;
  94. }
  95. function getrightlimit(mn, tp)
  96. {
  97.    var _loc2_ = mn;
  98.    var _loc3_ = this;
  99.    var startatx = 0;
  100.    var stepsfor = 0;
  101.    switch(tp)
  102.    {
  103.       case 1:
  104.       case 2:
  105.          startatx = _loc3_["vehicle" + _loc2_].vx + 2;
  106.          break;
  107.       case 3:
  108.          startatx = _loc3_["vehicle" + _loc2_].vx + 1;
  109.          break;
  110.       case 4:
  111.          startatx = _loc3_["vehicle" + _loc2_].vx + 3;
  112.          break;
  113.       case 5:
  114.          startatx = _loc3_["vehicle" + _loc2_].vx + 1;
  115.    }
  116.    if(startatx > 6)
  117.    {
  118.       return _loc3_["vehicle" + _loc2_].vx + 0;
  119.    }
  120.    var newstartx = 0;
  121.    var _loc1_ = startatx;
  122.    while(_loc1_ < 6)
  123.    {
  124.       yval = _loc3_["vehicle" + _loc2_].vy;
  125.       if(gridarray[_loc1_][yval] != 0)
  126.       {
  127.          break;
  128.       }
  129.       newstartx++;
  130.       _loc1_ = _loc1_ + 1;
  131.    }
  132.    if(tp == 1)
  133.    {
  134.       if(_loc3_["vehicle" + _loc2_].vx + newstartx == 4)
  135.       {
  136.          return (_loc3_["vehicle" + _loc2_].vx + newstartx + 1) * 36;
  137.       }
  138.    }
  139.    return (_loc3_["vehicle" + _loc2_].vx + newstartx) * 36;
  140. }
  141. function getbottomlimit(mn, tp)
  142. {
  143.    var _loc3_ = mn;
  144.    var _loc2_ = 0;
  145.    var stepsfor = 0;
  146.    switch(tp)
  147.    {
  148.       case 1:
  149.       case 2:
  150.          _loc2_ = this["vehicle" + _loc3_].vy + 1;
  151.          break;
  152.       case 3:
  153.          _loc2_ = this["vehicle" + _loc3_].vy + 2;
  154.          break;
  155.       case 4:
  156.          _loc2_ = this["vehicle" + _loc3_].vy + 1;
  157.          break;
  158.       case 5:
  159.          _loc2_ = this["vehicle" + _loc3_].vy + 3;
  160.    }
  161.    if(_loc2_ > 6)
  162.    {
  163.       return this["vehicle" + _loc3_].vy + 0;
  164.    }
  165.    var newstarty = 0;
  166.    var _loc1_ = _loc2_;
  167.    while(_loc1_ < 6)
  168.    {
  169.       xval = this["vehicle" + _loc3_].vx;
  170.       gridvalue = gridarray[xval][_loc1_];
  171.       if(gridvalue != 0)
  172.       {
  173.          break;
  174.       }
  175.       newstarty++;
  176.       _loc1_ = _loc1_ + 1;
  177.    }
  178.    return (this["vehicle" + _loc3_].vy + newstarty) * 36;
  179. }
  180. function updateGridArray()
  181. {
  182.    var _loc3_ = this;
  183.    var _loc2_ = 0;
  184.    while(_loc2_ < 6)
  185.    {
  186.       var _loc1_ = 0;
  187.       while(_loc1_ < 6)
  188.       {
  189.          gridarray[_loc2_][_loc1_] = 0;
  190.          _loc1_ = _loc1_ + 1;
  191.       }
  192.       _loc2_ = _loc2_ + 1;
  193.    }
  194.    _loc2_ = 0;
  195.    while(_loc2_ < totalvehicles)
  196.    {
  197.       veh = _loc3_["vehicle" + _loc2_];
  198.       switch(veh._currentframe)
  199.       {
  200.          case 1:
  201.          case 2:
  202.             gridarray[veh.vx][veh.vy] = 1;
  203.             gridarray[veh.vx + 1][veh.vy] = 1;
  204.             break;
  205.          case 3:
  206.             gridarray[veh.vx][veh.vy] = 1;
  207.             gridarray[veh.vx][veh.vy + 1] = 1;
  208.             break;
  209.          case 4:
  210.             gridarray[veh.vx][veh.vy] = 1;
  211.             gridarray[veh.vx + 1][veh.vy] = 1;
  212.             gridarray[veh.vx + 2][veh.vy] = 1;
  213.             break;
  214.          case 5:
  215.             gridarray[veh.vx][veh.vy] = 1;
  216.             gridarray[veh.vx][veh.vy + 1] = 1;
  217.             gridarray[veh.vx][veh.vy + 2] = 1;
  218.             break;
  219.       }
  220.       _loc2_ = _loc2_ + 1;
  221.    }
  222. }
  223. function showGridData()
  224. {
  225.    var _loc2_ = 0;
  226.    while(_loc2_ < 6)
  227.    {
  228.       str = "";
  229.       var _loc1_ = 0;
  230.       while(_loc1_ < 6)
  231.       {
  232.          str += " " + gridarray[_loc1_][_loc2_];
  233.          _loc1_ = _loc1_ + 1;
  234.       }
  235.       _loc2_ = _loc2_ + 1;
  236.    }
  237. }
  238. function clearVehicles()
  239. {
  240.    var _loc1_ = 1;
  241.    while(_loc1_ < totalvehicles)
  242.    {
  243.       unloadMovie("vehicle" + _loc1_);
  244.       _loc1_ = _loc1_ + 1;
  245.    }
  246. }
  247. var gameOn = true;
  248. var Moves = 0;
  249. btnNextLevel.gotoAndStop(1);
  250. if(tgamescleared == 59)
  251. {
  252.    btnNextLevel._visible = false;
  253. }
  254. var yp = thelevel0._y;
  255. var l = 0;
  256. while(l < 60)
  257. {
  258.    if(l == 0)
  259.    {
  260.       thelevel = thelevel0;
  261.    }
  262.    else
  263.    {
  264.       thelevel = thelevel0.duplicateMovieClip("thelevel" + l,l + 500);
  265.       thelevel._x = thelevel0._x + l % 10 * thelevel0._width;
  266.       thelevel._visible = true;
  267.       if(l % 10 == 0)
  268.       {
  269.          yp += thelevel0._height;
  270.       }
  271.       thelevel._y = yp;
  272.    }
  273.    thelevel.txtNo.text = l + 1;
  274.    thelevel.marker._visible = gamescleared[l];
  275.    l++;
  276. }
  277. var gridarray = new Array();
  278. var i = 0;
  279. while(i < 6)
  280. {
  281.    gridarray[i] = new Array(0,0,0,0,0,0);
  282.    i++;
  283. }
  284. txtLevel.text = glevel + 1;
  285. txtMoves.text = Moves;
  286. var totalvehicles = glevels[glevel].length;
  287. var i = 0;
  288. while(i < totalvehicles)
  289. {
  290.    if(i > 0)
  291.    {
  292.       veh = vehicle0.duplicateMovieClip("vehicle" + i,i);
  293.    }
  294.    else
  295.    {
  296.       veh = vehicle0;
  297.    }
  298.    veh._visible = true;
  299.    veh.gotoAndStop(glevels[glevel][i].vtype);
  300.    veh.stop();
  301.    veh._x = glevels[glevel][i].vx * 36;
  302.    veh._y = glevels[glevel][i].vy * 36;
  303.    veh.vx = glevels[glevel][i].vx;
  304.    veh.vy = glevels[glevel][i].vy;
  305.    veh.mynumber = i;
  306.    i++;
  307. }
  308. updateGridArray();
  309. stop();
  310.